package com.yaorange.module.system.service;

import com.yaorange.pojo.SysRole;

import java.util.List;

/**
 *  角色服务接口
 */
public interface SysRoleService {
    /**
     *  删除角色
     * @param id
     */
    void deleteById(Long id);

    /**
     *  更新角色
     *
     * @param roleDetails
     */
    void update(SysRole roleDetails);

    /**
     *  新增角色
     * @param user
     */
    void save(SysRole user);

    /**
     *  查询角色
     * @param id
     * @return
     */
    SysRole findById(Long id);

    /**
     *  查询所有角色
     * @return
     */
    List<SysRole> findAllRoles();

    /**
     *  批量删除角色
     * @param ids
     */
    void deleteByIds(List<Long> ids);

    /**
     *  获取角色的权限列表
     * @param roleId
     * @return
     */
    List<Long> findPermissionIdsByRoleId(Long roleId);

    /**
     *  指定角色赋予权限
     * @param permissionIds
     * @param roleId
     */
    void grantPermissions(List<Long> permissionIds, Long roleId);
}
